package java_learn.java_jinjie.DataStructure;

import java.util.ArrayList;
import java.util.Collections;

/**
 * 注意:
 * sort(List<T> list)使用前提
 * 被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则
 * <p>
 * Comparable接口的排序规则:
 * 自己(this)-参数:升序
 * Comparator和Comparable的区别
 * Comparable:自己(this)和别人(参数)比较,自己需要实现Comparable接口,重写比较的规则compareTo方法
 * Comparator:相当于找一个第三方的裁判,比较两个
 * <p>
 * Comparator的排序规则:
 * o1-o2:升序
 */
public class DemoSort {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>(); //原来写法
//        list.add(12);
//        list.add(14);
//        list.add(15);
//        list.add(10);
        //采用工具类 完成 往集合中添加元素
        Collections.addAll(list, 5, 222, 1, 2);
        System.out.println(list);
        //排序方法
        Collections.sort(list);
        System.out.println(list);

        ArrayList<Person> list03 = new ArrayList<>();
        list03.add(new Person("01", 19));
        list03.add(new Person("02", 20));
        list03.add(new Person("03", 17));
        System.out.println(list03);
        Collections.sort(list03);
        System.out.println(list03);
    }
}
